using System;
using System.Data;
using System.Text;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Reporting.WebForms;
using GC2.Entities.Seguridad;
using GC2.Entities.Admin;
using GC2.Entities.Logistica;

public partial class Informes_Remito : GenericPage
{
    Usuarios usuario = new Usuarios();

    #region Controles

    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!IsPostBack)
            {
                usuario = (Usuarios)Session["UsuarioActual"];
                int iReporte = int.Parse(Session["iReporte"].ToString());
                switch (iReporte)
                {
                    case 1:
                        RemitoR();
                        break;
                    case 2:
                        RemitoX();
                        break;
                    case 3:
                        RemitoL();
                        break;
                    default:
                        break;
                }
            }
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #endregion

    #region Metodos

    #region RemitoR
    private void RemitoR()
    {
        try
        {
            rwRemitoL.Visible = false;
            rwRemito.Visible = true;

            string sMascara = Mascaras("R");
            rwRemito.LocalReport.ReportPath = sMascara;

            Remitos remito = (Remitos)Session["Remito"];

            List<ReportParameter> listaParametros = new List<ReportParameter>();
            ReportParameter objParametro = new ReportParameter();

            List<RemitosDet> listaRemitosDet = (List<RemitosDet>)Session["listaRemitosDet"];

            remito.FFecha = remito.Fecha.ToString().Remove(11);
            string pRemito = remito.Prefijo;
            pRemito += "-";
            pRemito += remito.Remito;
            objParametro = new ReportParameter("pRemito", pRemito);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pFecha", remito.FFecha);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pCliente", remito.Cliente);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pDatos", remito.Direccion);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pCondVenta", remito.FCondVenta);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pOrdenC", remito.FOrdenC);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pOrdenT", remito.FOrdenT);
            listaParametros.Add(objParametro);
            
            listaParametros.Add(objParametro);
           

            rwRemito.LocalReport.SetParameters(listaParametros);

            rwRemito.LocalReport.Refresh();

        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region RemitoX
    private void RemitoX()
    {
        try
        {
            string sMascara = Mascaras("X");
            rwRemito.LocalReport.ReportPath = sMascara;

            Remitos remito = (Remitos)Session["Remito"];

            List<ReportParameter> listaParametros = new List<ReportParameter>();
            ReportParameter objParametro = new ReportParameter();


            List<RemitosDet> listaRemitosDet = (List<RemitosDet>)Session["listaRemitosDet"];
            
            Session["listaRemitosDet"] = listaRemitosDet;

            remito.FFecha = remito.Fecha.ToString().Remove(11);

            objParametro = new ReportParameter("pRemito", remito.Remito.ToString());
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pFecha", remito.FFecha);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pCliente", remito.Cliente);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pDatos", remito.Direccion);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pCondVenta", remito.FCondVenta);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pOrdenC", remito.FOrdenC);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pOrdenT", remito.FOrdenT);
            listaParametros.Add(objParametro);

            
            rwRemito.LocalReport.SetParameters(listaParametros);

            rwRemito.LocalReport.Refresh();
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region RemitoL
    private void RemitoL()
    {
        try
        {
            rwRemito.Visible = false;
            rwRemitoL.Visible = true;
            string sMascara = Mascaras("L");
            rwRemitoL.LocalReport.ReportPath = sMascara;

            Remitos remito = (Remitos)Session["Remito"];

            List<ReportParameter> listaParametros = new List<ReportParameter>();
            ReportParameter objParametro = new ReportParameter();

            List<RemitosLDet> listaRemitosLDet = (List<RemitosLDet>)Session["listaRemitosLDet"];

            remito.FFecha = remito.Fecha.ToString().Remove(11);
            string pRemito = remito.Prefijo;
            pRemito += "-";
            pRemito += remito.Remito;
            objParametro = new ReportParameter("pRemito", pRemito);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pFecha", remito.FFecha);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pCliente", remito.Cliente);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pDatos", remito.Direccion);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pCondVenta", remito.FCondVenta);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pOrdenC", remito.FOrdenC);
            listaParametros.Add(objParametro);
            objParametro = new ReportParameter("pOrdenT", remito.FOrdenT);
            listaParametros.Add(objParametro);

            listaParametros.Add(objParametro);


            rwRemitoL.LocalReport.SetParameters(listaParametros);

            rwRemitoL.LocalReport.Refresh();

        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #endregion
}
